package com.game.astar.entity;



/**
 * 路径搜索节点类(格子)
 * @author 庄宏晓
 * @date 2013-6-9
 */
public class Node 
{
	/**
	 * 坐标X
	 */
	int x;
	/**
	 * 坐标Y
	 */
	int y;
	
	/**
	 * 评估价
	 */
	int f;
	
	Node parentNode;
	
	
	public int getX() {
		return x;
	}

	public void setX(int x) {
		this.x = x;
	}

	public int getY() {
		return y;
	}

	public void setY(int y) {
		this.y = y;
	}

	public int getF() {
		return f;
	}

	public void setF(int f) {
		this.f = f;
	}
	
	public Node(int x, int y)
	{
		this.x = x;
		this.y = y;
	}
	
	public Node(int x, int y, int f, Node parentNode)
	{
		this.x = x;
		this.y = y;
		this.f = f;
		this.parentNode = parentNode;
	}

	public Node getParentNode() {
		return parentNode;
	}
	
	

	@Override
	public int hashCode() 
	{
		final int prime = 31;
		int result = 1;
		result = prime * result + x;
		result = prime * result + y;
		return result;
	}

	@Override
	public boolean equals(Object obj) 
	{
		if (this == obj){
			return true;
		}
		if (obj == null){
			return false;
		}
		if (getClass() != obj.getClass()){
			return false;
		}
		Node other = (Node) obj;
		if (x != other.x){
			return false;
		}
		if (y != other.y){
			return false;
		}
		return true;
	}
}
